package vip.aster.workflow.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import vip.aster.workflow.entity.WfForm;
import vip.aster.workflow.query.WfFormQuery;

import java.util.List;

/**
 * 流程表单 Mapper 接口
 *
 * @author Aster lipian1004@163.com
 * @since 2024-04-15 14:28:44
 */
public interface WfFormMapper extends BaseMapper<WfForm> {

    /**
     * 查询最大版本号
     *
     * @param code 表单编码
     * @return 最大版本号
     */
    Integer selectMaxVersion(String code);

    /**
     * 分页查询
     *
     * @param page  分页条件
     * @param query 查询条件
     * @return 分页数据
     */
    IPage<WfForm> selectWfFormPage(@Param("page") IPage<WfForm> page, @Param("query") WfFormQuery query);

    /**
     * 查询表单列表
     *
     * @param query 查询条件
     * @return 表单集合
     */
    List<WfForm> selectWfFormPage(@Param("query") WfFormQuery query);

    /**
     * 通过表单编码查询最新版本的表单信息
     * @param code 表单编码
     * @return 最新版本的表单信息
     */
    List<WfForm> getLastFormInfo(@Param("code") String code);
}
